package com.ly.emp.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ly.common.core.bean.R;
import com.ly.common.core.bean.dto.CommonBatchUpdateDTO;
import com.ly.emp.bean.vo.BasePeriodTree;
import com.ly.emp.entity.EpmBasePeriod;

import java.util.List;

/**
 * 考核周期-service
 *
 * @author luoyun
 * @Date: 2025-05-13
 */
public interface IEpmBasePeriodService extends IService<EpmBasePeriod> {

    /**
     * 查询-id
     */
    R getId(String id);

    /**
     * 分页
     */
    R getPage(EpmBasePeriod entity, Page<EpmBasePeriod> page);

    /**
     * 新增
     */
    R add(EpmBasePeriod entity);

    /**
     * 修改
     */
    R edit(EpmBasePeriod entity);

    /**
     * 删除-id
     */
    R delete(String id);

    /**
     * 批量删除
     */
    R deleteBatch(String ids);

    /**
     * 批量新增或修改
     */
    R updateBatch(CommonBatchUpdateDTO<EpmBasePeriod> dto);

    /**
     * 获取考核周期树：year年；yearM年+月；yearQ年季度
     *
     * @参数:@param type
     * @创建时间: 2023-03-14
     */
    List<BasePeriodTree> periodTree(String type);
}
